home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / imake / RCS / Imake.tmpl,v < prev    next >
Text File  |  1992-08-20  |  22KB  |  980 lines

  1. head     1.2;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.2
  10. date     92.08.20.16.58.27;  author rab;  state Exp;
  11. branches ;
  12. next     1.1;
  13.  
  14. 1.1
  15. date     91.10.22.13.47.28;  author rab;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @@
  22.  
  23.  
  24. 1.2
  25. log
  26. @checking in for rab -- jhh
  27. @
  28. text
  29. @/*
  30.  * generic imake template
  31.  */
  32.  
  33. #ifndef XCOMM
  34. #define XCOMM #
  35. #endif
  36. XCOMM -------------------------------------------------------------------------
  37. XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
  38. XCOMM $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
  39. XCOMM
  40. XCOMM Platform-specific parameters may be set in the appropriate <vendor>.cf
  41. XCOMM configuration files.  Site-specific parameters should be set in the file
  42. XCOMM site.def.  Full rebuilds are recommended if any parameters are changed.
  43. XCOMM
  44. XCOMM If your C preprocessor does not define any unique symbols, you will need
  45. XCOMM to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  46. XCOMM "make World" the first time).
  47. XCOMM
  48.  
  49. #define    YES    1
  50. #define NO    0
  51.  
  52.  
  53. /*
  54.  * To add support for another platform:
  55.  * 
  56.  *     1.  Identify a machine-specific cpp symbol.  If your preprocessor 
  57.  *         does not have any built in, you will need to add the symbol to the
  58.  *         cpp_argv table in config/imakemdep.h and rebuild imake with the
  59.  *         BOOTSTRAPCFLAGS variable set (see the macII for an example).
  60.  *
  61.  *     2.  Add all machine-specific cpp symbols (either defined by you or by
  62.  *         the preprocessor or compiler) to the predefs table in 
  63.  *         config/imakemdep.h.
  64.  *
  65.  *     3.  But a new #ifdef block below that defines MacroIncludeFile and
  66.  *         MacroFile for your new platform and then #undefs the machine-
  67.  *         specific preprocessor symbols (to avoid problems with file names).
  68.  *
  69.  *     4.  Create a .cf file with the name given by MacroFile.
  70.  */
  71.  
  72. #ifdef sprite
  73. #ifdef ds3100
  74. #ifndef ultrix
  75. #define ultrix
  76. #endif
  77. #endif
  78. #endif
  79.  
  80. #ifdef ultrix
  81. #define MacroIncludeFile <ultrix.cf>
  82. #define MacroFile ultrix.cf
  83. #ifdef vax
  84. #undef vax
  85. #define VaxArchitecture
  86. #endif
  87. #ifdef mips
  88. #undef mips
  89. #define MipsArchitecture
  90. #endif
  91. #undef ultrix
  92. #define UltrixArchitecture
  93. #endif
  94.  
  95. #if defined(vax) && !defined(UltrixArchitecture)
  96. #define MacroIncludeFile <bsd.cf>
  97. #define MacroFile bsd.cf
  98. #undef vax
  99. #define VaxArchitecture
  100. #endif
  101.  
  102. #ifdef sun
  103. #define MacroIncludeFile <sun.cf>
  104. #define MacroFile sun.cf
  105. #undef sun
  106. #define SunArchitecture
  107. #endif /* sun */
  108.  
  109. #ifdef hpux
  110. #define MacroIncludeFile <hp.cf>
  111. #define MacroFile hp.cf
  112. #undef hpux
  113. #define HPArchitecture
  114. #endif /* hpux */
  115.  
  116. #ifdef att
  117. #define MacroIncludeFile <att.cf>
  118. #define MacroFile att.cf
  119. #undef att
  120. #define ATTArchitecture
  121. #endif /* att */
  122.  
  123. #ifdef apollo
  124. #define MacroIncludeFile <apollo.cf>
  125. #define MacroFile apollo.cf
  126. #undef apollo
  127. #define ApolloArchitecture
  128. #endif /* apollo */
  129.  
  130. #ifdef sony
  131. #define MacroIncludeFile <sony.cf>
  132. #define MacroFile sony.cf
  133. #undef sony
  134. #undef sony_news
  135. #define SonyArchitecture
  136. #ifdef mc68020
  137. #undef mc68020
  138. #undef mc68030
  139. #define Mc68020Architecture
  140. #endif
  141. #ifdef mips
  142. #undef mips
  143. #define MipsArchitecture
  144. #endif
  145. #if !defined(bsd43) || defined(SYSTYPE_SYSV)
  146. #define SonySysvArchitecture
  147. #else
  148. #define SonyBsdArchitecture
  149. #endif
  150. #endif /* sony */
  151.  
  152. #ifdef M4310
  153. #define MacroIncludeFile <pegasus.cf>
  154. #define MacroFile pegasus.cf
  155. #undef M4310
  156. #define PegasusArchitecture
  157. #endif /* M4310 */
  158.  
  159. #ifdef M4330
  160. #define MacroIncludeFile <m4330.cf>
  161. #define MacroFile m4330.cf
  162. #undef  M4330
  163. #define M4330Architecture
  164. #endif /* M4330 */
  165.  
  166. #ifdef macII
  167. /* A/UX cpp has no unique symbol:  build imake with BOOTSTRAPCFLAGS=-DmacII */
  168. #define MacroIncludeFile <macII.cf>
  169. #define MacroFile macII.cf
  170. #undef  macII
  171. #define MacIIArchitecture
  172. #endif /* macII */
  173.  
  174. #ifdef CRAY
  175. #define MacroIncludeFile <cray.cf>
  176. #define MacroFile cray.cf
  177. #undef cray
  178. #define CrayArchitecture
  179. #endif /* CRAY */
  180.  
  181. #ifdef sgi
  182. #define MacroIncludeFile <sgi.cf>
  183. #define MacroFile sgi.cf
  184. #undef sgi
  185. #define SGIArchitecture
  186. #undef mips
  187. #define MipsArchitecture
  188. #endif
  189.  
  190. #ifdef stellar
  191. #define MacroIncludeFile <stellar.cf>
  192. #define MacroFile stellar.cf
  193. #undef stellar
  194. #define StellarArchitecture
  195. #endif
  196.  
  197. #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
  198. #define MacroIncludeFile <ibm.cf>
  199. #define MacroFile ibm.cf
  200. #ifdef ibm
  201. #undef ibm
  202. #endif
  203. #define IBMArchitecture
  204. #ifdef i386
  205. #undef i386
  206. #define PS2Architecture
  207. #endif
  208. #ifdef ibm032
  209. #undef ibm032
  210. #define RtArchitecture
  211. #endif
  212. #ifdef aix
  213. #undef aix
  214. #define AIXArchitecture
  215. #endif
  216. #ifdef _IBMR2
  217. #undef _IBMR2
  218. #define RsArchitecture
  219. #endif
  220. #endif /* ibm */
  221.  
  222. #ifdef luna
  223. #undef luna
  224. #define MacroIncludeFile <luna.cf>
  225. #define MacroFile luna.cf
  226. #ifdef mc68000
  227. #undef mc68000
  228. #define Mc68000Architecture
  229. #else
  230. #undef mc88000
  231. #define Mc88000Architecture
  232. #endif
  233. #endif
  234.  
  235. #ifdef Mips
  236. #  define MacroIncludeFile "Mips.cf"
  237. #  define MacroFile Mips.cf
  238. #  undef Mips
  239. #  if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
  240. #    define MipsBsdArchitecture
  241. #  else /* BSD */
  242. #    define MipsSysvArchitecture
  243. #  endif /* BSD */
  244. #endif /* Mips */
  245.  
  246. #ifdef MOTOROLA
  247. # define MacroIncludeFile <moto.cf>
  248. # define MacroFile moto.cf
  249. # undef MOTOROLA    
  250. # ifdef SYSV
  251. #  define MotoR3Architecture
  252. # endif
  253. # ifdef SVR4
  254. #  define MotoR4Architecture
  255. # endif
  256. #endif /* MOTOROLA */
  257.  
  258. #ifdef SYSV386
  259. # define MacroIncludeFile <x386.cf>
  260. # define MacroFile x386.cf
  261. # ifdef SVR4
  262. #  define i386SVR4Architecture
  263. # else
  264. #  define i386SVR3Architecture
  265. # endif
  266. #endif /* SYSV386 */
  267.  
  268. #ifdef DGUX
  269. #define MacroIncludeFile <DGUX.cf>
  270. #define MacroFile DGUX.cf
  271. #undef DGUX
  272. #define DguxArchitecture
  273. #endif
  274.  
  275. #ifdef __convex__
  276. # define MacroIncludeFile <convex.cf>
  277. # define MacroFile convex.cf
  278. # ifdef convex
  279. #  undef convex
  280. # endif
  281. # define ConvexArchitecture
  282. #endif
  283.  
  284. #ifndef MacroIncludeFile
  285. XCOMM WARNING:  Imake.tmpl not configured; guessing at definitions!!!
  286. XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
  287. #define MacroIncludeFile <generic.cf>
  288. #define MacroFile generic.cf
  289. #endif
  290.  
  291. /*****************************************************************************
  292.  *                                                                           *
  293.  *                       DO NOT MODIFY BELOW THIS LINE                       *
  294.  *                                                                           *
  295.  *****************************************************************************/
  296.  
  297.  
  298. XCOMM -------------------------------------------------------------------------
  299. XCOMM site-specific configuration parameters that need to come before
  300. XCOMM the platform-specific parameters - edit site.def to change
  301. #define BeforeVendorCF
  302. #include <site.def>
  303. #undef BeforeVendorCF
  304.  
  305. XCOMM -------------------------------------------------------------------------
  306. XCOMM platform-specific configuration parameters - edit MacroFile to change
  307. #include MacroIncludeFile
  308.  
  309. /* It is a kludge to put these two macros here,
  310.  * but Project.tmpl needs them and it is not clear there is a better place.
  311.  */
  312.  
  313. /*
  314.  * Concat - concatenates two strings.
  315.  */
  316. #ifndef Concat
  317. #if __STDC__ && !defined(UnixCpp)
  318. #define Concat(a,b)a##b
  319. #else
  320. #define Concat(a,b)a/**/b
  321. #endif
  322. #endif
  323.  
  324. /*
  325.  * Concat3 - concatenates three strings.
  326.  */
  327. #ifndef Concat3
  328. #if __STDC__ && !defined(UnixCpp)
  329. #define Concat3(a,b,c)a##b##c
  330. #else
  331. #define Concat3(a,b,c)a/**/b/**/c
  332. #endif
  333. #endif
  334.  
  335. XCOMM -------------------------------------------------------------------------
  336. XCOMM site-specific configuration parameters that go after
  337. XCOMM the platform-specific parameters - edit site.def to change
  338. #define AfterVendorCF
  339. #include <site.def>
  340. #undef AfterVendorCF
  341.  
  342. /*
  343.  * defaults for various generic parameters; set in site.def if needed
  344.  */
  345.  
  346. #ifndef HasSharedLibraries
  347. #define HasSharedLibraries NO
  348. #endif
  349. #ifndef SystemV
  350. #define SystemV            NO    /* SYSV (R3) */
  351. #endif
  352. #ifndef SystemV4
  353. #define SystemV4        NO    /* SVR4 */
  354. #endif
  355. #ifndef OSMajorVersion
  356. #define OSMajorVersion          0
  357. #endif
  358. #ifndef OSMinorVersion
  359. #define OSMinorVersion          0
  360. #endif
  361. #ifndef UnalignedReferencesAllowed
  362. #define UnalignedReferencesAllowed NO    /* if arbitrary deref is okay */
  363. #endif
  364. #ifndef ExecableScripts
  365. #if SystemV
  366. #define ExecableScripts        NO
  367. #else
  368. #define ExecableScripts        YES    /* kernel exec() can handle #! */
  369. #endif
  370. #endif
  371.  
  372. #ifndef BourneShell            /* to force shell in makefile */
  373. #define BourneShell        /bin/sh
  374. #endif
  375. #ifndef ConstructMFLAGS
  376. #if SystemV
  377. #define ConstructMFLAGS        YES    /* build MFLAGS from MAKEFLAGS */
  378. #else
  379. #define ConstructMFLAGS        NO    /* build MFLAGS from MAKEFLAGS */
  380. #endif
  381. #endif
  382.  
  383. #ifndef HasLargeTmp
  384. #define HasLargeTmp        NO    /* be paranoid */
  385. #endif
  386. #ifndef HasSockets
  387. #if SystemV || SystemV4
  388. #define HasSockets        NO    /* do not assume it has them */
  389. #else
  390. #define HasSockets        YES    /* bsd does have them */
  391. #endif
  392. #endif
  393. #ifndef HasVFork
  394. #if SystemV
  395. #define HasVFork        NO    /* not yet... */
  396. #else
  397. #define HasVFork        YES
  398. #endif
  399. #endif
  400. #ifndef HasPutenv
  401. #define HasPutenv        NO    /* assume not */
  402. #endif
  403. #ifndef HasVoidSignalReturn
  404. #define HasVoidSignalReturn    YES    /* assume yes */
  405. #endif
  406. #ifndef HasBsearch
  407. #define HasBsearch        YES    /* assume yes */
  408. #endif
  409. #ifndef HasSaberC
  410. #define HasSaberC        NO    /* for people unclear on the concept */
  411. #endif
  412. #ifndef HasFortran
  413. #define HasFortran        NO
  414. #endif
  415. #ifndef HasNdbm
  416. #define HasNdbm            NO
  417. #endif
  418. #ifndef HasSecureRPC
  419. #define HasSecureRPC        NO    /* if you have Secure RPC */
  420. #endif
  421. #ifndef HasShm
  422. #if SystemV || SystemV4
  423. #define HasShm            YES
  424. #else
  425. #define HasShm            NO
  426. #endif
  427. #endif
  428. #ifndef NeedConstPrototypes
  429. #define NeedConstPrototypes    NO
  430. #endif
  431. #ifndef NeedVarargsPrototypes
  432. #define NeedVarargsPrototypes    NO
  433. #endif
  434. #ifndef NeedNestedPrototypes
  435. #define NeedNestedPrototypes    NO
  436. #endif
  437. #ifndef NeedFunctionPrototypes
  438. #define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
  439. #endif
  440. #ifndef NeedWidePrototypes
  441. #define NeedWidePrototypes    YES    /* mix and match ANSI-C, non-ANSI */
  442. #endif
  443.  
  444. #ifndef StripInstalledPrograms
  445. #define StripInstalledPrograms NO    /* leave symbol table just in case */
  446. #endif
  447.  
  448. #ifndef UsrLibDir
  449. #ifdef ProjectRoot
  450. #define UsrLibDir Concat(ProjectRoot,/lib)
  451. #ifndef AlternateUsrLibDir
  452. #define AlternateUsrLibDir YES
  453. #endif
  454. #else
  455. #define UsrLibDir /usr/lib
  456. #ifndef AlternateUsrLibDir
  457. #define AlternateUsrLibDir NO
  458. #endif
  459. #endif
  460. #else
  461. #ifndef AlternateUsrLibDir
  462. #define AlternateUsrLibDir YES
  463. #endif
  464. #endif
  465. #ifndef IncRoot
  466. #ifdef ProjectRoot
  467. #define IncRoot Concat(ProjectRoot,/include)
  468. #ifndef AlternateIncRoot
  469. #define AlternateIncRoot YES
  470. #endif
  471. #else
  472. #define IncRoot /usr/include
  473. #ifndef AlternateIncRoot
  474. #define AlternateIncRoot NO
  475. #endif
  476. #endif
  477. #else
  478. #ifndef AlternateIncRoot
  479. #define AlternateIncRoot YES
  480. #endif
  481. #endif
  482. #ifndef UNCOMPRESSPATH
  483. #define UNCOMPRESSPATH /usr/ucb/uncompress
  484. #endif
  485. #ifndef OptimizedCDebugFlags
  486. #define OptimizedCDebugFlags -O
  487. #endif
  488. #ifndef DebuggableCDebugFlags
  489. #ifdef ds3100
  490. #define DebuggableCDebugFlags -g3
  491. #else
  492. #define DebuggableCDebugFlags -g
  493. #endif
  494. #endif
  495. #ifndef NoOpCDebugFlags
  496. #define NoOpCDebugFlags /* as nothing */
  497. #endif
  498. #ifndef DefaultCDebugFlags
  499. /* #define DefaultCDebugFlags OptimizedCDebugFlags DebuggableCDebugFlags */
  500. #define DefaultCDebugFlags OptimizedCDebugFlags
  501. #endif 
  502. #ifndef DefaultCCOptions
  503. #define DefaultCCOptions /* as nothing: this is for floating point, etc. */
  504. #endif
  505. #ifndef InstPgmFlags
  506. #define InstPgmFlags -s
  507. #endif
  508. #ifndef InstBinFlags
  509. #define InstBinFlags -m 0755
  510. #endif
  511. #ifndef InstUidFlags
  512. #define InstUidFlags -m 4755
  513. #endif
  514. #ifndef InstLibFlags
  515. #define InstLibFlags -m 0644
  516. #endif
  517. #ifndef InstIncFlags
  518. #define InstIncFlags -m 0444
  519. #endif
  520. #ifndef InstManFlags
  521. #define InstManFlags -m 0444
  522. #endif
  523. #ifndef InstDatFlags
  524. #define InstDatFlags -m 0444
  525. #endif
  526. #ifndef InstKmemFlags
  527. #define InstKmemFlags InstUidFlags    /* put -g kmem -m 2755 in site.def... */
  528. #endif
  529. #ifndef ArCmd
  530. #if HasLargeTmp | SystemV4
  531. #define ArCmd ar cq    /* do nothing special */
  532. #else
  533. #define ArCmd ar clq    /* use local dir for temp files */
  534. #endif
  535. #endif
  536. #ifndef BootstrapCFlags
  537. #define BootstrapCFlags /**/
  538. #endif
  539. #ifndef HasGcc
  540. #define HasGcc NO
  541. #endif
  542. #ifndef CcCmd
  543. #if HasGcc
  544. #define CcCmd gcc
  545. #else
  546. #define CcCmd cc
  547. #endif
  548. #endif
  549. #if HasFortran
  550. #ifndef FortranCmd
  551. #define FortranCmd f77
  552. #endif
  553. #ifndef FortranFlags
  554. #define FortranFlags /**/
  555. #endif
  556. #ifndef FortranDebugFlags
  557. #define FortranDebugFlags /**/        /* for -O or -g */
  558. #endif
  559. #endif
  560. #ifndef AsCmd
  561. #define AsCmd as
  562. #endif
  563. #ifndef CompressCmd
  564. #define CompressCmd compress
  565. #endif
  566. #ifndef CppCmd
  567. #define CppCmd /lib/cpp
  568. #endif
  569. #ifndef PreProcessCmd
  570. #define PreProcessCmd CcCmd -E
  571. #endif
  572. #ifndef InstallCmd
  573. #if SystemV | SystemV4
  574. #ifdef UseInstalled
  575. #define InstallCmd $(BINDIR)/bsdinst        /* hack should be in project */
  576. #else
  577. #define InstallCmd $(SCRIPTSRC)/bsdinst.sh    /* hack should be in project */
  578. #endif
  579. #else
  580. #define InstallCmd update
  581. #endif
  582. #endif
  583. #ifndef LdCmd
  584. #define LdCmd ld
  585. #endif
  586. #ifndef LintCmd
  587. #define LintCmd lint
  588. #endif
  589. #ifndef LintLibFlag
  590. #if SystemV || SystemV4
  591. #define LintLibFlag -o
  592. #else
  593. #define LintLibFlag -C
  594. #endif
  595. #endif
  596. #ifndef LintOpts
  597. #if SystemV || SystemV4
  598. #define LintOpts -ax
  599. #else
  600. #define LintOpts -axz
  601. #endif
  602. #endif
  603. #ifndef CpCmd
  604. #define CpCmd cp
  605. #endif
  606. #ifndef LnCmd
  607. #if SystemV
  608. #define LnCmd ln /* or even cp */
  609. #else
  610. #define LnCmd ln -s
  611. #endif
  612. #endif
  613. #ifndef MakeCmd
  614. #define MakeCmd make
  615. #endif
  616. #ifndef MvCmd
  617. #define MvCmd mv
  618. #endif
  619. #ifndef DoRanlibCmd
  620. #if SystemV || SystemV4
  621. #define DoRanlibCmd 0
  622. #else
  623. #define DoRanlibCmd 1
  624. #endif
  625. #endif
  626. #ifndef RanlibCmd
  627. #define RanlibCmd ranlib
  628. #endif
  629. #ifndef RanlibInstFlags
  630. #define RanlibInstFlags /**/
  631. #endif
  632. #ifndef RmCmd
  633. #define RmCmd rm -f
  634. #endif
  635. #ifndef StandardIncludes
  636. #define StandardIncludes /**/            /* for platform-specifics */
  637. #endif
  638. #ifndef StandardDefines
  639. #if SystemV
  640. #define StandardDefines -DSYSV
  641. #else
  642. #if SystemV4
  643. #define StandardDefines -DSVR4
  644. #else
  645. #define StandardDefines /**/
  646. #endif
  647. #endif
  648. #endif
  649. #ifndef StandardCppDefines
  650. #define StandardCppDefines StandardDefines
  651. #endif
  652. #ifndef Malloc0ReturnsNull
  653. #define Malloc0ReturnsNull NO
  654. #endif
  655. #ifndef NdbmDefines
  656. #if HasNdbm
  657. #define NdbmDefines -DNDBM
  658. #else
  659. #define NdbmDefines /**/
  660. #endif
  661. #endif
  662. #ifndef ExtraLibraries
  663. #if SystemV4
  664. #if HasSockets
  665. #define ExtraLibraries -lsocket -lnsl
  666. #else
  667. #define ExtraLibraries -lnsl
  668. #endif
  669. #else
  670. #define ExtraLibraries /**/
  671. #endif
  672. #endif
  673. #ifndef ExtraLoadFlags
  674. #define ExtraLoadFlags /**/
  675. #endif
  676. #ifndef LdCombineFlags
  677. #if SystemV4
  678. #define LdCombineFlags -r
  679. #else
  680. #define LdCombineFlags -X -r
  681. #endif
  682. #endif
  683. #ifndef TagsCmd
  684. #define TagsCmd ctags
  685. #endif
  686. #ifndef LoaderLibPrefix
  687. #define LoaderLibPrefix /**/            /* cray does -l libX11.a */
  688. #endif
  689. #ifndef DependFlags
  690. #ifdef sprite
  691. #define DependFlags -Dsprite
  692. #else
  693. #define DependFlags /**/
  694. #endif
  695. #endif
  696. #ifndef TroffCmd
  697. #define TroffCmd psroff
  698. #endif
  699. #ifndef MsMacros
  700. #define MsMacros -ms
  701. #endif
  702. #ifndef TblCmd
  703. #define TblCmd tbl
  704. #endif
  705. #ifndef EqnCmd
  706. #define EqnCmd eqn
  707. #endif
  708. #ifndef ExpandManNames
  709. #if SystemV
  710. #define ExpandManNames NO
  711. #else
  712. #define ExpandManNames YES
  713. #endif
  714. #endif
  715. #ifndef TOPDIR
  716. #define TOPDIR .
  717. #endif
  718. #ifndef CURDIR
  719. #define CURDIR .
  720. #endif
  721. #ifndef ExtraFilesToClean
  722. #define ExtraFilesToClean /**/
  723. #endif
  724. #ifndef FilesToClean
  725. #define FilesToClean *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut 
  726. #endif
  727.  
  728.             SHELL = BourneShell
  729.  
  730.               TOP = TOPDIR
  731.       CURRENT_DIR = CURDIR
  732.  
  733.                AR = ArCmd
  734.   BOOTSTRAPCFLAGS = BootstrapCFlags    /* set if cpp does not have uniq sym */
  735.                CC = CcCmd
  736.                AS = AsCmd
  737. #if HasFortran
  738.                FC = FortranCmd
  739.       FDEBUGFLAGS = FortranDebugFlags
  740.           FCFLAGS = FortranFlags $(FDEBUGFLAGS)
  741. #endif
  742.          COMPRESS = CompressCmd
  743.               CPP = CppCmd $(STD_CPP_DEFINES)        /* simple filters */
  744.     PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)    /* prefered; mdep */
  745.           INSTALL = InstallCmd
  746.                LD = LdCmd
  747.              LINT = LintCmd
  748.       LINTLIBFLAG = LintLibFlag
  749.          LINTOPTS = LintOpts
  750.                LN = LnCmd
  751.              MAKE = MakeCmd
  752.                MV = MvCmd
  753.                CP = CpCmd
  754. #if DoRanlibCmd
  755.            RANLIB = RanlibCmd
  756.   RANLIBINSTFLAGS = RanlibInstFlags
  757. #endif
  758.                RM = RmCmd
  759.             TROFF = TroffCmd
  760.          MSMACROS = MsMacros
  761.               TBL = TblCmd
  762.               EQN = EqnCmd
  763.      STD_INCLUDES = StandardIncludes
  764.   STD_CPP_DEFINES = StandardCppDefines
  765.       STD_DEFINES = StandardDefines
  766.  EXTRA_LOAD_FLAGS = ExtraLoadFlags
  767.   EXTRA_LIBRARIES = ExtraLibraries
  768.              TAGS = TagsCmd
  769. #if ConstructMFLAGS
  770.            MFLAGS = -$(MAKEFLAGS) -l
  771. #endif
  772. #if HasSharedLibraries
  773.     SHAREDCODEDEF = SharedCodeDef
  774.          SHLIBDEF = SharedLibraryDef
  775. #endif
  776. #if !HasVoidSignalReturn
  777.    SIGNAL_DEFINES = -DSIGNALRETURNSINT
  778. #endif
  779. /*
  780.  * The following supports forcing of function prototypes
  781.  */
  782. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
  783. #define _funcprotodef -DFUNCPROTO=15
  784. #else
  785. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
  786. #define _funcprotodef -DFUNCPROTO=11
  787. #else
  788. #if NeedFunctionPrototypes && NeedNestedPrototypes
  789. #define _funcprotodef -DFUNCPROTO=9
  790. #else
  791. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
  792. #define _funcprotodef -DFUNCPROTO=7
  793. #else
  794. #if NeedFunctionPrototypes && NeedConstPrototypes
  795. #define _funcprotodef -DFUNCPROTO=5
  796. #else
  797. #if NeedFunctionPrototypes && NeedVarargsPrototypes
  798. #define _funcprotodef -DFUNCPROTO=3
  799. #else
  800. #if NeedFunctionPrototypes
  801. #define _funcprotodef -DFUNCPROTO
  802. #else
  803. #define _funcprotodef /**/
  804. #endif
  805. #endif
  806. #endif
  807. #endif
  808. #endif
  809. #endif
  810. #endif
  811. #if NeedWidePrototypes
  812. #define _wideprotodef /**/
  813. #else
  814. #define _wideprotodef -DNARROWPROTO
  815. #endif
  816.     PROTO_DEFINES = _funcprotodef _wideprotodef 
  817. #undef _funcprotodef
  818. #undef _wideprotodef
  819.  
  820. #if StripInstalledPrograms
  821.      INSTPGMFLAGS = InstPgmFlags    /* install flags for stripping */
  822. #else
  823.      INSTPGMFLAGS = 
  824. #endif
  825.      INSTBINFLAGS = InstBinFlags    /* install flags for programs */
  826.      INSTUIDFLAGS = InstUidFlags    /* install flags for setuid programs */
  827.      INSTLIBFLAGS = InstLibFlags    /* install flags for libraries */
  828.      INSTINCFLAGS = InstIncFlags    /* install flags for headers */
  829.      INSTMANFLAGS = InstManFlags    /* install flags for man pages */
  830.      INSTDATFLAGS = InstDatFlags    /* install flags for data files */
  831.     INSTKMEMFLAGS = InstKmemFlags    /* install flags for /dev/kmem progs */
  832.  
  833. #ifdef ProjectRoot
  834.       PROJECTROOT = ProjectRoot
  835. #endif
  836. #ifdef UseInstalled
  837. #if AlternateIncRoot
  838.      TOP_INCLUDES = -I$(INCROOT)    /* def: for alternative /usr/include */
  839. #endif
  840. #else
  841.      TOP_INCLUDES = -I$(TOP)        /* def: for builds within tree */
  842. #endif
  843.       CDEBUGFLAGS = DefaultCDebugFlags
  844.         CCOPTIONS = DefaultCCOptions    /* to distinguish from param flags */
  845. /*
  846.  * STD_INCLUDES contains system-specific includes
  847.  * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
  848.  * EXTRA_INCLUDES contains project-specific includes set in project incfiles
  849.  * INCLUDES contains client-specific includes set in Imakefile
  850.  * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
  851.  */
  852.       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
  853.        ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
  854.            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  855.         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  856. #if AlternateUsrLibDir && !defined(UseInstalled)
  857.            LDLIBS = -L$(USRLIBDIR) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  858. #else
  859.            LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  860. #endif
  861. #if AlternateUsrLibDir && defined(UseInstalled)
  862.         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
  863. #else
  864.         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS)
  865. #endif
  866.    LDCOMBINEFLAGS = LdCombineFlags
  867.       DEPENDFLAGS = DependFlags
  868.  
  869.         MACROFILE = MacroFile
  870.            RM_CMD = $(RM) FilesToClean ExtraFilesToClean
  871.  
  872.     IMAKE_DEFINES = /* leave blank, for command line use only */
  873. #ifdef UseInstalled
  874.          IRULESRC = $(CONFIGDIR)    /* used in rules file */
  875.         IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  876. #else
  877.          IRULESRC = $(CONFIGSRC)
  878.         IMAKE_CMD = $(NEWTOP)$(IMAKE) -I$(NEWTOP)$(IRULESRC) $(IMAKE_DEFINES)
  879. #endif
  880.      ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  881.             $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  882.             $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  883.  
  884. /*
  885.  * get project-specific configuration and rules
  886.  */
  887.  
  888. #include <Project.tmpl>
  889.  
  890. #include <Imake.rules>
  891.  
  892. XCOMM -------------------------------------------------------------------------
  893. XCOMM start of Imakefile
  894. #include INCLUDE_IMAKEFILE
  895.  
  896. XCOMM -------------------------------------------------------------------------
  897. XCOMM common rules for all Makefiles - do not edit
  898. /*
  899.  * These need to be here so that rules in Imakefile occur first;  the blank
  900.  * all is to make sure that an empty Imakefile does not default to make clean.
  901.  */
  902. emptyrule::
  903.  
  904. CleanTarget()
  905.  
  906. #ifndef IHaveSpecialMakefileTarget
  907. MakefileTarget()
  908. #endif
  909.  
  910. TagsTarget()
  911. #ifdef MakefileAdditions
  912. MakefileAdditions()
  913. #endif
  914.  
  915. #if HasSaberC
  916. saber:
  917.     XCOMM load $(ALLDEFINES) $(SRCS)
  918.  
  919. osaber:
  920.     XCOMM load $(ALLDEFINES) $(OBJS)
  921. #endif
  922.  
  923.  
  924. #ifdef IHaveSubdirs
  925. XCOMM -------------------------------------------------------------------------
  926. XCOMM rules for building in SUBDIRS - do not edit
  927.  
  928. InstallSubdirs($(SUBDIRS))
  929. InstallManSubdirs($(SUBDIRS))
  930. CleanSubdirs($(SUBDIRS))
  931. TagSubdirs($(SUBDIRS))
  932. MakefileSubdirs($(SUBDIRS))
  933. IncludesSubdirs($(SUBDIRS))
  934.  
  935. #else
  936. XCOMM -------------------------------------------------------------------------
  937. XCOMM empty rules for directories that do not have SUBDIRS - do not edit
  938.  
  939. install::
  940.     @@echo "install in $(CURRENT_DIR) done"
  941.  
  942. install.man::
  943.     @@echo "install.man in $(CURRENT_DIR) done"
  944.  
  945. Makefiles::
  946.  
  947. includes::
  948.  
  949. #endif /* if subdirectory rules are needed */
  950.  
  951. XCOMM -------------------------------------------------------------------------
  952. XCOMM dependencies generated by makedepend
  953. @
  954.  
  955.  
  956. 1.1
  957. log
  958. @Initial revision
  959. @
  960. text
  961. @d44 8
  962. d461 3
  963. d466 1
  964. d471 1
  965. d473 1
  966. a473 1
  967. #endif
  968. d516 1
  969. a516 1
  970. #define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
  971. d552 1
  972. a552 1
  973. #define InstallCmd install
  974. d662 3
  975. d667 1
  976. d742 1
  977. a742 1
  978.            MFLAGS = -$(MAKEFLAGS)
  979. @
  980.